package com.chb.system.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.chb.system.vo.MenuVo;
import com.hos.entity.sys.Menu;

import java.util.List;

/**
 * @author: 陈海彬
 * @date: Created in 2023/12/7 19:36
 * @description:
 * @modified By:
 * @version:
 */
public interface MenuService {

    /**
     * 根据用户id查询菜单
     *
     * @param userId 用户id
     * @return
     */
    List<Menu> findMenusBuUserId(Long userId);

    /**
     * 根据角色id查询菜单信息
     * @param roleId 角色Id
     * @return
     */
    List<Menu> selectMenusByRoleId(Long roleId);


    /**
     * 获取左侧菜单
     */
    List<Menu> getLeftMenu();

    /**
     * 查询所有的菜单
     *
     * @return
     */
    List<Menu> selectAllMenu();

    /**
     * 条件查询角色信息并进行分页
     *
     * @param menuVo 菜单VO类
     * @return
     */
    List<Menu> findMuneByCond(MenuVo menuVo);

    /**
     * 增加菜单
     *
     * @param menu 新增的菜单
     * @return
     */
    Integer addMenu(Menu menu);

    /**
     * 根据菜单id删除菜单
     *
     * @param id 菜单ID
     * @return
     */
    Integer deleteMenuById(Long id);

    /**
     * 根据菜单id查询单个菜单信息
     *
     * @param menuId 菜单的id
     * @return
     */
    Menu getMenuById(Long menuId);

    /**
     * 修改菜单
     *
     * @param menu 修改菜单的信息
     * @return
     */
    Integer updateMenu(Menu menu);
}
